home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / mus / edit / WaveTracer.lha / WaveTracer / ARexx / Import_SFX.rx < prev    next >
Text File  |  1996-11-30  |  2KB  |  60 lines

  1. /*         SoundFX®-Sampleripper         */
  2. /* © by QXC & VIRTUAL WORLDS PRODUCTIONS */
  3. say '   SoundFX® Sampleripper'
  4. say '   ---------------------'
  5. say ' '
  6. say 'Funktioniert leider nur mit manchen - fehlerfreien -'
  7. say 'Versionen von SoundFX® korrekt!'
  8. say ' '
  9.  
  10. options results
  11.  
  12. /* Ermittlung der Sampledaten von SoundFX® */
  13. address 'REXX_SFX'
  14. GETACTIVEBUFFER
  15. ActBuffer=RESULT
  16. GETSAMPLECHANNELS ActBuffer
  17. Channels=RESULT
  18. GETSAMPLELENGTH ActBuffer
  19. PlayL=RESULT
  20. GETSAMPLERATE ActBuffer
  21. SRate=RESULT
  22. say 'Buffer:        ' ActBuffer
  23. say 'Anzahl Kanäle: ' Channels
  24. say 'Samplelänge:   ' PlayL
  25. say 'Samplerate:    ' SRate
  26.  
  27. /* Ermittlung infagekommender Soundmodes, Initialisierung des WaveTracers
  28.    und Ermittlung der Speicheradressen der WaveTracer-Kanäle */
  29. if Channels<3 then do
  30.    if Channels=1 then SMode=1
  31.    else if Channels=2 then SMode=2
  32.    address 'WTRexx'
  33.    CALLINTERNALEFFECT 1 2 0 PlayL 1 0 0 0 0 SMode
  34.    GETSAMPLESIZE
  35.    if result>0 then do
  36.       GETCHANNELADDRESS 1       /* Links  */
  37.       MemA1=result
  38.       GETCHANNELADDRESS 2       /* Rechts */
  39.       MemA2=result
  40.       GETCHANNELADDRESS 3       /* Center */
  41.       MemA3=result
  42.  
  43. /* Kopieren der Sampledaten und umsetzen in das 24Bit-WaveTracer-Format */
  44.       if MemA3>0 then do
  45.          address 'REXX_SFX'
  46.          GETSAMPLE MemA3 0
  47.       end
  48.       else if MemA1>0 then do
  49.          address  'REXX_SFX'
  50.          GETSAMPLE MemA1 0
  51.       end
  52.       address 'WTRexx'
  53.       SETPLAYFREQ SRate
  54.       IMPORT 1
  55.    end
  56.    else say 'WaveTracer kann keinen Speicher allocieren'
  57. end
  58. else say 'Es können maximal 2 Kanäle (Mono oder Stereo) übernommen werden'
  59.  
  60.